package com.example.myapplicationktkt2.activity

import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import com.example.myapplicationktkt2.R

/**
 * Activity参数传递示例 - 方式1：基本数据类型传递
 * 演示接收基本数据类型参数并返回结果的方式1
 */
class ActivityB : AppCompatActivity() {
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_b)
        
        // 接收参数方式1: 基本数据类型
        val userName = intent.getStringExtra("user_name")
        val userAge = intent.getIntExtra("user_age", 0)
        val isVip = intent.getBooleanExtra("is_vip", false)
        
        val paramTextView = findViewById<TextView>(R.id.param_text)
        paramTextView.text = "接收到的参数:\n姓名: $userName\n年龄: $userAge\nVIP: $isVip"
        
        // 返回结果方式1: 通过 setResult() 返回数据
        val btnReturnResult1 = findViewById<Button>(R.id.btn_return_result1)
        btnReturnResult1.setOnClickListener {
            val resultIntent = Intent()
            resultIntent.putExtra("result_data", "方式1返回: 处理完成")
            setResult(Activity.RESULT_OK, resultIntent)
            finish()
        }
        
        // 返回结果方式2: 通过 setResult() 返回复杂数据
        val btnReturnResult2 = findViewById<Button>(R.id.btn_return_result2)
        btnReturnResult2.setOnClickListener {
            val resultIntent = Intent()
            resultIntent.putExtra("result_data", "方式2返回: 用户[$userName]处理完成，年龄$userAge，VIP状态$isVip")
            setResult(Activity.RESULT_OK, resultIntent)
            finish()
        }
    }
}